package com.efast.cafe.portal.service.api;

import java.util.List;

import com.efast.cafe.portal.bean.api.PortalApiModuleBean;
import com.efast.cafe.portal.bean.api.PortalApiProjectDto;

/**
 * <p>Service接口</p>
 * <p>Table: portal_api_module - 所属模块定义</p>
 *
 * @since 2017-08-10 02:38:08
 */
public interface IPortalApiModuleService {
	
	/**
	 * 新增ApiModule
	 * @Date        :      2017年8月11日
	 * @param portalApiModuleBean
	 * @return
	 */
	public int insertApiModule(PortalApiModuleBean portalApiModuleBean);

	/**
	 * 修改ApiModule
	 * @Date        :      2017年8月11日
	 * @param portalApiModuleBean
	 */
	public void updateApiModule(PortalApiModuleBean portalApiModuleBean);
	
	/**
	 * 删除ApiModule
	 * @Date        :      2017年8月11日
	 * @param portalApiModuleBean
	 */
	public void deleteApiModule(PortalApiModuleBean portalApiModuleBean);
	
	/**
	 * 发布ApiModule
	 * @Date        :      2017年8月14日
	 * @param portalApiModuleBean
	 * @return
	 */
	public int publishApiModule(PortalApiModuleBean portalApiModuleBean);
	
	/**
	 * 升级ApiModule
	 * @Date        :      2017年8月15日
	 * @param portalApiModuleBean
	 * @return
	 */
	public int upgradeApiModule(PortalApiModuleBean portalApiModuleBean);
	
	/**
	 * 查询同一个系统底下，某个module的所有版本
	 * @Date        :      2017年8月24日
	 * @param apiModuleBean
	 * @return
	 */
	public List<PortalApiModuleBean> queryModuleBySystemIdAndUUid(PortalApiModuleBean apiModuleBean);
	
	/**
	 * 通过system查询该系统底下所有最新的模块
	 * @Date        :      2017年8月24日
	 * @param portalApiProjectDto
	 * @return
	 */
	public List<PortalApiModuleBean> queryModuleBySystemId(PortalApiProjectDto portalApiProjectDto);
}